#include "choicemul.h"

ChoiceMul::ChoiceMul()
{

}

QString ChoiceMul::Cate()
{
    return "多选";
}

int ChoiceMul::Review(QString ans)
{
    QStringList ansLst = ans.split(" ");//ansLst 通过将 ans 字符串按空格分隔成多个子字符串而创建
    QStringList resLst = this->m_res.split(" ");//resLst 是调用对象的 m_res 字符串通过按空格分隔创建的字符串列表

    if(ansLst.size() != resLst.size())// ansLst 和 resLst 大小不相等，意味着答案的数量与正确答案的数量不匹配，这种情况下函数返回0
        return 0;

    int cnt = 0;
    foreach(auto str, ansLst)//cnt 变量来计数匹配的答案数量
    {
        if(resLst.contains(str))
            cnt++;
    }

    if(cnt == resLst.size())//检查 cnt 是否等于 resLst 的大小。如果匹配的答案数量与正确答案数量相等，则函数返回调用对象的 m_score 值。否则，返回0
        return this->m_score;
    return 0;
}
